অ্যাপাচি আইভি (Apache Ivy) একটি ডিপেনডেন্সি ম্যানেজমেন্ট টুল যা Maven2 POM (Project Object Model) ফাইল রেজলভ করার জন্য একটি শক্তিশালী সিস্টেম প্রদান করে। POM (pom.xml) ফাইল মেভেন ভিত্তিক প্রোজেক্টে ব্যবহৃত একটি কনফিগারেশন ফাইল যা প্রকল্পের মেটাডেটা এবং তার ডিপেনডেন্সি সম্পর্কিত তথ্য ধারণ করে। আইভি, Maven2 POM রেজলভারের মাধ্যমে মেভেনের ডিপেনডেন্সি রেজল্যুশন (dependency resolution) প্রক্রিয়া ব্যবহার করে Maven রেপোজিটরি থেকে ডিপেনডেন্সি গুলো ডাউনলোড এবং ম্যানেজ করতে পারে।
Maven2 POM Resolver হল একটি ফিচার যা অ্যাপাচি আইভিকে মেভেন POM ফাইল থেকে ডিপেনডেন্সি তথ্য পড়তে এবং সেগুলো সঠিকভাবে রেজলভ (resolve) করতে সক্ষম করে। এটি আইভিকে মেভেন রেপোজিটরিতে সংরক্ষিত ডিপেনডেন্সি গুলো সঠিকভাবে ম্যানেজ করতে সহায়তা করে, এবং পাশাপাশি Maven Central Repository এর মতো পাবলিক রেপোজিটরি থেকে লাইব্রেরি সংগ্রহ করতে পারে।
আইভি মেভেন POM ফাইল রেজলভ করার জন্য মেভেন প্যাকেজ রেজলভারের কনফিগারেশন ব্যবহার করতে হবে। এটি সাধারণত ivysettings.xml
ফাইলে কনফিগার করা হয়, যেখানে পোম রেজলভারটি অ্যাক্টিভেট করা হয়।
<ivysettings>
<resolvers>
<!-- Define the Maven2 resolver -->
<resolver name="maven2" class="org.apache.ivy.plugins.resolver.MavenResolver">
<url value="https://repo1.maven.org/maven2"/>
<ivy pattern="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
<artifact pattern="[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
</resolver>
</resolvers>
</ivysettings>
এখানে:
https://repo1.maven.org/maven2
) এর URL যেখানে আইভি ডিপেনডেন্সি খুঁজবে।আইভি প্রোজেক্টের ivy.xml ফাইলে ডিপেনডেন্সি গুলো উল্লেখ করা হয়, এবং এতে মেভেন2 পোম ফাইল রেজলভারের মাধ্যমে মেভেন ডিপেনডেন্সি গুলো যুক্ত করা যায়।
<ivy-module version="2.0">
<info organisation="com.example" module="myproject"/>
<dependencies>
<!-- Dependency using Maven2 POM Resolver -->
<dependency org="org.springframework" name="spring-core" rev="5.2.8.RELEASE"/>
<dependency org="com.google.guava" name="guava" rev="30.0-jre"/>
</dependencies>
</ivy-module>
এখানে, org.springframework
এবং com.google.guava
লাইব্রেরি গুলো Maven2 রেপোজিটরি থেকে ডাউনলোড করা হবে।
অ্যাপাচি আইভির Maven2 POM Resolver মেভেন ডিপেনডেন্সি রেজল্যুশনকে সহজতর করে, যা ডেভেলপারদের দ্রুত এবং কার্যকরভাবে লাইব্রেরি ম্যানেজ করতে সহায়তা করে।
common.read_more